﻿#region Includes
using System;
using System.Runtime.InteropServices;
#endregion

namespace GingerGL.Drawing.MD3
{
    //------------------------------------------------------------//
    /// <summary>
    /// IDS MD3 TAG
    /// </summary>
    [StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Ansi)]
    public struct MD3Tag
    {
        //--------------------------------------------------------//
        #region Variables
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
        public char[] Name;                                     // Name of Tag object. ASCII character string, NUL-terminated (C-style)
        [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.R4, SizeConst = 3)]
        public float[] Origin;                                  //Coordinates of Tag object.
        [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.R4, SizeConst = 3)]
        public float[] R1;                                      //3x3 rotation matrix row associated with the Tag.
        [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.R4, SizeConst = 3)]
        public float[] R2;                                      //3x3 rotation matrix row associated with the Tag.
        [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.R4, SizeConst = 3)]
        public float[] R3;                                      //3x3 rotation matrix row associated with the Tag.
        #endregion
        //--------------------------------------------------------//
    }
    //------------------------------------------------------------//
}
